package com.yurun.orgpermissionmodule.mapper;

import com.yurun.commonapi.pojo.RoleIdAndName;
import com.yurun.commonapi.pojo.UmsRole;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.math.BigInteger;
import java.util.List;

@Mapper
@Repository
public interface OrgPermissionMapper {
    int addRole(UmsRole role);

    int getRoleIdByOrgId(BigInteger organizationId);

    int addPermissionByRoleId(@Param("roleId")int roleId, @Param("resourceId") int resourceId);

    int addMenuByRoleId(@Param("roleId")int roleId, @Param("menuId") int menuId);

    List<UmsRole> getRoleListByOrgId(BigInteger organizationId);

    List<UmsRole> getRoleListByRoleName(@Param("name") String name, @Param("organizationId") BigInteger organizationId);

    List<Integer> getMenuIdByRoleId(int roleId);

    List<Integer> getResourceIdByRoleId(int roleId);

    UmsRole getRoleByRoleId(int roleId);

    int updateRoleStatus(@Param("roleId") int roleId, @Param("status") int status);

    int editRole(UmsRole umsRole);

    int editRoleMenu(@Param("roleId")int roleId, @Param("menuId") int menuId);

    int editRoleResource(@Param("roleId")int roleId, @Param("resourceId") int resourceId);

    int addEmployeeRole(@Param("roleId")int roleId, @Param("employeeId") BigInteger employeeId);

    List<RoleIdAndName> getRoleOption(BigInteger organizationId);

    int delMenu(int roleId);

    int delResource(int roleId);
}
